package com.edu.study.base.stuCourseSutdentDetail.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 学员课程内容学习进度对象 stu_course_sutdent_detail
 *
 * @author zw
 * @date 2021-06-30
 */
public class StuCourseSutdentDetail extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private Long id;

    /**
     * 会员ID
     */
    @Excel(name = "会员ID")
    private String memberId;

    /**
     * 课程ID
     */
    @Excel(name = "课程ID")
    private String courseId;

    /**
     * 产品通用目录id
     */
    @Excel(name = "产品通用目录id")
    private String productItemId;

    private String subcatalogId;


    /**
     * 开始学习时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开始学习时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startLearnDate;

    /**
     * 学习状态
     */
    @Excel(name = "学习状态")
    private String courseLearnStatus;

    /**
     * 完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endLearnDate;

    /**
     * 获得的成绩
     */
    @Excel(name = "获得的成绩")
    private Long score;

    /**
     * 可以获得的积分
     */
    @Excel(name = "可以获得的积分")
    private Long integration;

    /**
     * 可以活动的成长值
     */
    @Excel(name = "可以活动的成长值")
    private Long growth;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setMemberId(String memberId) {
        this.memberId = memberId;
    }

    public String getMemberId() {
        return memberId;
    }

    public void setCourseId(String courseId) {
        this.courseId = courseId;
    }

    public String getCourseId() {
        return courseId;
    }

    public void setProductItemId(String productItemId) {
        this.productItemId = productItemId;
    }

    public String getProductItemId() {
        return productItemId;
    }

    public String getSubcatalogId() {
        return subcatalogId;
    }

    public void setSubcatalogId(String subcatalogId) {
        this.subcatalogId = subcatalogId;
    }

    public void setStartLearnDate(Date startLearnDate) {
        this.startLearnDate = startLearnDate;
    }

    public Date getStartLearnDate() {
        return startLearnDate;
    }

    public void setCourseLearnStatus(String courseLearnStatus) {
        this.courseLearnStatus = courseLearnStatus;
    }

    public String getCourseLearnStatus() {
        return courseLearnStatus;
    }

    public void setEndLearnDate(Date endLearnDate) {
        this.endLearnDate = endLearnDate;
    }

    public Date getEndLearnDate() {
        return endLearnDate;
    }

    public void setScore(Long score) {
        this.score = score;
    }

    public Long getScore() {
        return score;
    }

    public void setIntegration(Long integration) {
        this.integration = integration;
    }

    public Long getIntegration() {
        return integration;
    }

    public void setGrowth(Long growth) {
        this.growth = growth;
    }

    public Long getGrowth() {
        return growth;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("memberId", getMemberId())
                .append("courseId", getCourseId())
                .append("productItemId", getProductItemId())
                .append("startLearnDate", getStartLearnDate())
                .append("courseLearnStatus", getCourseLearnStatus())
                .append("endLearnDate", getEndLearnDate())
                .append("score", getScore())
                .append("integration", getIntegration())
                .append("growth", getGrowth())
                .toString();
    }
}
